home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 2000 January / Macworld (2000-01).dmg / Mac OS 9 Updaters / Utilities / Reaper 131 / Source Code / Reaper.h < prev    next >
Text File  |  1999-11-10  |  2KB  |  108 lines

  1. #ifndef        _ReaperH
  2. #define        _ReaperH    TRUE
  3.  
  4.  
  5.  
  6.  
  7. enum ReaperIDs
  8.  {
  9.     igsReaper            = 'Reáp'
  10.  };
  11.  
  12.  
  13. enum ReaperPrefVers
  14.  {
  15.     kvrReaper1            = 0x0100,
  16.  
  17.     kvrReaperMinCompat    = kvrReaper1,
  18.     kvrReaperCurrent    = kvrReaper1
  19.  };
  20.  
  21.  
  22.  
  23. typedef struct BadAppRec        BadApp, * badApp, ** BADAPP;
  24. typedef struct AppItemRec        AppItem, * appItem, ** APPITEM;
  25.  
  26. enum BadAppItemFlags
  27.  {
  28.     bbaFixFCB                = (1 << 6),        // Allow read access to LMGetFCBSPtr()
  29.     bbaRun68K                = (1 << 5),        // Give errResNotFound on 'cfrg' when launched
  30.     bbaLimitHeap            = (1 << 4),        // Limit temp allocation to double app heap size (HP PrintMonitor)
  31.     bbaSmartHeap            = (1 << 3),        // Allocate handles > 1/8th of heap size in temp mem
  32.     bbaExpand                = (1 << 2),        // Expand heap with temp mem
  33.     bbaByName                = (1 << 1),        // Recognize by name
  34.     bbaOnlyIfROM            = (1 << 0)        // Only if from Read-Only Volume
  35.  };
  36.  
  37. enum BadAppFlags
  38.  {
  39.     bapUnused                = (1 << 0)
  40.  };
  41.  
  42. #pragma options align=mac68k
  43.  
  44. struct AppItemRec
  45.  {
  46.     OSType        creator;
  47.     short        reap;        // < 0 = % to increase, > 0 = 16 KBs to increase
  48.     flag16        flags;        // Turn these on
  49.  };
  50.  
  51. struct BadAppRec
  52.  {
  53.     word        version;
  54.     short        reapROM;    // Default for read-only
  55.     ident        id;            // igsReaper
  56.     short        reapRWM;    // Default for all others
  57.     short        cnt;
  58.     AppItem        item[1];
  59.     // Followed by SLUT of item names
  60.  };
  61.  
  62. #define    mcPrefSlutOffset(ba)    ((sizeof(BadApp) - sizeof(AppItem)) + ((ba)->cnt * sizeof(AppItem)))
  63. #define    mcPrefSlut(ba)            mcPrefSlutX((ba)->item, (ba)->cnt)
  64. #define    mcPrefSlutX(i, n)        ((slut)((Ptr)(i) + ((n) * sizeof(AppItem))))
  65.  
  66. #pragma options align=reset
  67.  
  68.  
  69.  
  70.  
  71.  
  72. typedef struct ReaperGloRec    ReaperGlo, * reaperGlo, ** REAPERGLO;
  73.  
  74.  
  75. enum ReaperGloBits
  76.  {
  77.     brpIsLaunchingBit        = 0,
  78.     brpInOpenPictureBit
  79.  };
  80.  
  81.  
  82. enum ReaperGloFlags
  83.  {
  84.     brpInOpenPicture    = (1 << brpInOpenPictureBit),
  85.     brpIsLaunching        = (1 << brpIsLaunchingBit)
  86.  };
  87.  
  88.  
  89. #pragma options align=mac68k
  90.  
  91. struct ReaperGloRec
  92.  {
  93.     ident        id;            // = igsReaper
  94.     word        version;
  95.     flag16        flags;        // brp… flags
  96.     BADAPP        prefs;        // Other app infos
  97.     THz            tmpZone;    // Zone of temporary memory
  98.  };
  99.  
  100. #pragma options align=reset
  101.  
  102.  
  103.  
  104. #include    "Reaper Utils.proto.h"
  105.  
  106.  
  107. #endif    //    Already included
  108.